Fabric wrinkle evaluation

ABSTRACT

Fabric wrinkles are automatically evaluated using a reliable, accurate, affordable, and efficient system. Two algorithms are used, the facet model algorithm and the plane-cutting algorithm, to extract features for evaluating wrinkles in fabrics. These algorithms eliminate the need for independent evaluation of a fabric specimen by a technician.

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application claims the benefit, under 35 U.S.C. 119(e), of U.S. Provisional Application No. 60/371,414 filed Apr. 11, 2002, the contents of which are incorporated herein by reference.

BACKGROUND OF THE INVENTION

[0002] 1. Field of the Invention

[0003] The present invention relates to a method for determining the smoothness of fabric using image scanning.

[0004] 2. Description of Related Art

[0005] In judging the aesthetic appeal of both apparel and household textiles, important concerns of consumers and researchers are focused on fabric wrinkle recovery and the wrinkle appearance after home laundering. Finding quantitative methods for evaluating wrinkling degrees of fabrics is one of the most important issues to researchers working in the field of fabric appearance retention and also to technicians assessing fabric characteristics. In the textile industry, currently there are two methods often used to grade wrinkles of a fabric. They are referred to as two AATCC Test Methods (TM): TM 124 and TM 128, each of which has one set of standard replicas used for comparison.

[0006] AATCC TM 128 is designed to rank the wrinkle degrees of textile fabrics after some wrinkles are induced. A test fabric specimen is wrinkled under a standard atmospheric condition in a standard wrinkling device. The device takes a predetermined load for a prescribed period of time to induce the fabric wrinkles. This specimen is then reconditioned and its appearance of wrinkles is evaluated. In this test method there are 5 standard replicas of different wrinkle degrees used for comparison.

[0007] For the standard test method of AATCC TM 124, standard procedures to rate wrinkles are specified. Under a standard lighting condition, three trained observers independently rate the wrinkling degree of a fabric specimen. They compare the appearance of the specimen with the smoothness of the appearances of six three-dimensional replicas. Each of the six replicas is made up of white plastic, representing a certain degree of wrinkling. This method is relatively simple and easy to perform. However, with the involvement of three trained technicians, it is very subjective in ranking wrinkling degrees of fabrics. Because of the subjectivity of the rating, one may question the credibility of the rating results: Are these wrinkle grades reliable? Are these grades repeatable or are these grades accurate? Actually one fabric might be ranked to belong to three different wrinkle levels by three observers, although these observers have been professionally trained to rank fabric wrinkles. In other words, grading results are usually biased by human perception. Sometimes it might be due to the subjective nature of human beings. Sometimes it might be due to the different regions attracting the attention of the three technician observers. Sometimes it might be due to the tilting angle when the fabric is held by observers during the rating processes.

[0008] Besides the questions on its reliability and accuracy, AATCC TM 124 is also expensive to execute. First, it needs at least three trained technicians. Second, this rating method should be performed in a standard lighting environment, which requires special rooms. Third, the standard replicas are expensive. In addition, a new set of replicas should be ordered and replaced every three years, because the combination of color aging and soiling from frequent usage may render the replicas unusable.

[0009] Therefore, it is desirable to develop a reliable, accurate, efficient and relatively economical system for automatically evaluating fabric wrinkles.

[0010] With the booming computer industry, image-processing techniques have been developed for various applications as well as for the textile industry. Image analysis has shown its potential application in objective evaluation of fabric appearances. It was reported that image-processing techniques have been developed to analyze fiber shape, yarn irregularity, and carpet appearance. It is suggested that image analysis is a good substitute for human inspection in fabric quality evaluation. Image analysis methods are increasingly adopted to obtain appearance characteristics because they are more repetitive, more reliable and more accurate than manual procedures. About eight years ago, a laser scanning system, was developed to measure surface roughness and grade the pilling of fabrics. Computer image analysis techniques were designed to perform pill grading by matching the images of pilled fabrics with the images of a set of standard photographs representing various pilling appearances.

[0011] As to the evaluation of fabric wrinkles, some researchers have made contributions to the study of this field. As early as 1969, attempts were made to define the basic components of a wrinkle. Several descriptors were suggested, some of which provided a fair description of wrinkling such as wrinkle density, profile and randomness.

[0012] In 1995, fabric wrinkling was rated with intensity surface rations and shade area ratios by observing gray level intensity differences. In their approach, an HP color scanner was used so that an identical situation, such as illumination conditions and backgrounds, could be easily maintained. However, intensity images generated in this manner are not reliable indications. The features extracted from these images for wrinkle evaluation are not adequate to classify different kinds of fabric wrinkling, especially when the fabrics contain patterns or different colors.

[0013] Also considered were wrinkle density, profile, one-dimensionial power spectrum density, sharpness, overall appearance and fractal dimension as feature parameters of fabric wrinkles. They were also using intensity images captured by a Sony CCD camera when replicas were illuminated from two corners by two light sources in a dark room. Based on the investigation and results, wrinkle surface ratio and standard deviation were suggested as feature parameters of wrinkle grades and a fractal theory was used to assess fabric wrinkles.

[0014] Using intensity images of the six standard replicas, the topographic labeling of the replicas using the facet model was analyzed. The surfaces of intensity gray level values were categorized into 11 labels. The percentages of the areas greater than and equal to 6, i.e., slopes, ridges, peaks, ravines, pits and saddles, were extracted as a feature to classify wrinkles on the replicas. Some interesting results were obtained concerning the relationship between grade numbers and the area percentages.

[0015] As mentioned above, all research on wrinkles was based on intensity images. Those techniques and algorithms suggested by researchers do not work properly to grade the wrinkling degrees of fabrics when fabrics have colored patterns.

[0016] Therefore, it is desirable to develop a new system that can objectively and accurately measure the smoothness of fabric appearances regardless of fabric patterns and colors. With laser-line projectors as light sources, such evaluation systems and algorithms have been developed with the help of image analysis. A laser-line triangulation method was used to measure the 3D surface of a wrinkled fabric with a 19-laser-line projector. A neural network was used to execute wrinkle classification with respect to the six standard replicas. Wrinkle parameters, such as arithmetic average roughness, root mean square roughness, 10-point height, and bearing-surface ratio, were fed into the neural network for training. In order to prevent or reduce the influence of wrinkle orientation, a rotating stage was required. In this system, some wrinkles of a fabric might be missed and some might be captured in a duplicated way. Recently, a stereovision algorithm was designed to evaluate fabric smoothness by fractal geometry. Because this method used two CCD cameras located at different angles together with two laser-line projectors over the detected objects, complicated calibrations are necessary to capture images of fabric wrinkles. Fractal dimension data were obtained as parameters of wrinkles, which fall between 2.015 and 2.035 for the 6 standard replicas.

BRIEF SUMMARY OF THE INVENTION

[0017] A new laser camera system has been set up to capture wrinkle images. Two new algorithms, the facet model and the plane-cutting, are designed to evaluate wrinkles without the influences of wrinkle orientation, colors or patterns of fabrics. In this laser camera system, a one-line laser projector is used. A camera is set up over a plane board, which is motorized to move back and forth. As a fabric or replica is placed on the board and moves along the direction controlled by the motor, the laser line scans the replica and the laser camera collects the information of laser intensity and wrinkle depths at the same time. The present invention focuses on the range image, which gets its name since its gray values are proportional to heights and depths of wrinkles. Based on the range image, the facet model is used. The topographic categories of the image are analyzed to rank wrinkles. Motivated by the facet model algorithm the relatively simple plane-cutting algorithm is also developed.

[0018] The two algorithms of the present invention provide automatic evaluation of fabric wrinkles with objectivity and reliability. The results show that the two algorithms perform successfully to classify the 6 replicas, but for the fabric specimens, the wrinkle grades from both algorithms are not consistent with those assigned by technicians.

BRIEF DESCRIPTION OF THE DRAWINGS

[0019] The features and advantages of the present invention will become apparent from the following detailed description of a preferred embodiment, taken in conjunction with the accompanying drawings, in which:

[0020]FIG. 1 shows a preferred embodiment of the laser camera system;

[0021]FIG. 2 shows a preferred embodiment of the laser camera system settings;

[0022]FIG. 3 shows the system geometry of triangulation: sheet-of-light range imaging;

[0023]FIG. 4 is an illustration of blocking or occlusion;

[0024]FIG. 5 shows an intensity image (a) and the ranges images 2D (b) and 3D (c);

[0025]FIG. 6 is a flow chart of the facet model algorithm;

[0026]FIG. 7 shows the relationship between image pixel (i, j) and facet model coordinates (r, c);

[0027]FIG. 8 illustrates the facet model window (7×7);

[0028]FIG. 9 shows labeling with different threshold values;

[0029]FIG. 10 shows labeling results of the different images for all 6 replicas;

[0030]FIG. 11 shows binary images of labels 6 resulted from FIG. 10;

[0031]FIG. 12 is a flow chart of the plane-cutting algorithm;

[0032]FIG. 13 is a sketch plot of the plane-cutting algorithm;

[0033]FIG. 14 shows the sample intersected area between the cutting-plane and the range image;

[0034]FIG. 15 is a sample curve of plane-cut pixels (percentage) versus range levels;

[0035]FIG. 16 shows an alternate method of calculation the area OABC;

[0036]FIG. 17 is a sketch map of three parts for replicas;

[0037]FIG. 18 shows curves of Θ versus wrinkle grade for all six replicas with WS1=91, WS2=11 and ws=15 (CTR—Central, BL—Bottom left, UR—Upper right);

[0038]FIG. 19 shows curves of Θ versus wrinkle grades for all six replicas with WS1=15, WS2=5, and ws=11 (CTR—Central; BL—Bottom left; UP—Upper right);

[0039]FIG. 20 is a flow chart indicating the application procedure of the facet model algorithm;

[0040]FIG. 21 show curves of log(Ω) versus wrinkle grades for all six replicas with blurring window sizes: WS1=9, WS2=5 (CTR—Central; BL—Bottom Left; UP—Upper right);

[0041]FIG. 22 is a flow chart indicating the application procedure of the plane-cutting algorithm;

[0042]FIG. 23 shows binary images of intersected areas at the relevant range levels (a) CTR No. 3 replicas, (b) CTR No. 3.5 replicas, and (c) fabric sample 7 a (WS1=9, WS2=5);

[0043]FIG. 24 shows a plot of intersected area percentage versus range levels;

[0044]FIG. 25 shows a horizontal sheet-of-light range imaging of the sensor; and

[0045]FIG. 26 is an illustration of finding the laser reflection;

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

[0046] The laser camera system setup is mainly composed of a computer, a laser line projector, a moving plane board, and an IVP range camera with IVP smart vision sensor from Integrated Vision Products (IVP). A photo of the laser camera system is shown in FIG. 1.

[0047] The IVP range camera is equipped with a smart vision sensor, which is one of the internationally recognized products based on breakthrough technology created at IVP. The total integration of sensors, A/D converters and processors on one parallel-architecture chip allow image processing at an extremely high speed. More information may be referred to IVP. The power from the laser source is less than 5 microwatts and the wavelength of the laser is 600˜700 nanometers. The focal point of the laser source can be adjusted and the laser line can be focused on a pre-determined target distance. The PC is installed with an IVP adapter board, and signals from the range camera can be collected by the PC.

[0048] The schematic of the whole system is given in FIG. 2. The camera is set up directly over a horizontal plane board, which is used to hold fabrics or replicas. The distance between the camera and the plane board is 21 inches. The plane board is motorized to obtain motion along the Y direction, which is parallel to the optics plane of the entire system. The horizontal distance between the camera and the tilted laser projector is 24.5 inches. The laser projector is configured to transform a point laser beam into a line source and the projector is 5 inches higher than the moving board. The projection angle is about 79.6° between the laser line and the vertical direction. Keeping a large projection angle increases the height resolution of detected wrinkles. However, if this angle is set close to 90°, an occlusion problem occurs. This will become clearer after we check the triangulation of the settings referred to as sheet-of-light range imaging and how the IVP smart vision sensor works.

[0049] The range images are acquired using laser triangulation, which is a technique for measuring the range/depth of an object in the scene. This technique is based on the triangular relationships among the light source, camera and object. It is known under a variety of names such as sheet-of-light range imaging, laser profiling, and light-stripe ranging. In this work, we refer to it as sheet-of-light range imaging.

[0050] With the red laser as a dedicated source, the sheet-of-light range imaging is an active imaging technique. As a sheet (or stripe) of laser light is scanned over the object, one profile, or one row with 512 range pixels (the column pixel number M=512) is obtained. The range data and the relevant intensity points are marked. There are three ways to obtain a 512×512 range image: by moving the whole laser system apparatus over a static scene; by moving the scene; or by sweeping the sheet-of-light over a static 3D-scene with a mirror arrangement. In the presently preferred invention, the second approach is adopted: the plane board is motorized to carry a piece of replica or fabric. The scene is moved while the detecting sensor reads one profile every 2 ms (microsecond). All images used in this project are composed of 512 profiles, i.e., they are 512×512 range images.

[0051] The system geometry of triangulation is shown in FIG. 3. Before a lamina object ABCD of height h is laid on the moving board, the laser line is shining on the line AB. When the lamina is put on the board, the laser line is displaced to A′B′ resulting from lamina blocking. The length of displacement OO″ is the horizontal shift distance, which is proportional to the height h. OO″ is calculated considering triangles of ΔOO′O″ and ΔOPQ:

OO″=O′O″ (tan∠OO′O″),  (Eq. 2.1b)

OO″=h•tan∠QPO.  (Eq. 2.1b)

[0052] The camera is aligned with the axis OC that is perpendicular to the moving board. Through the lens, the energy of laser reflection from the lamina triggers the sensor arrays of the smart camera shown in the top-center part of FIG. 3. The difference of sensor rows between C and C′ is proportional to the displacement OO″. The value of CC′ is expressed as:

CC′=α•OO″=α•h•tan∠QPO,  (Eq. 2.2)

[0053] where α is a coefficient related to the focal length of the lens, the distance between the camera and the object, and the camera magnification rate. Since these parameters are fixed, α is a constant. Therefore, if the heights of detected objects remain constant, the larger ∠QPO, the more sensor-rows the height displacement covers, and thus the larger the value of CC′. This means, as mentioned previously, that keeping a large projection angle ∠QPO increases the resolution of wrinkle heights. To achieve infinite resolution, ∠QPO has to be kept at 90°. However, infinite resolution is not practical because of the occlusion or blocking effect. Suppose there is another laminar object STUV (shown in FIG. 4) much higher than the object ABA′B′, then the laser line is not able to reach the section of A′B′ST near to the lamina STUV. The section A′B′ST is hidden and blocked from the laser line. Experiments show that if ∠QPO is kept around 80° the system works well to detect all levels of wrinkles of both the fabrics and the replicas.

[0054] Based on Eq.2.2, the system maps height differences such as O′O″ to displacement lengths such as CC′ in the sensor array of the camera. Then the displacement lengths are normalized into a gray-level image (8-bit per pixel). This image is the range image.

[0055] The smart camera system obtains intensity and range images at the same time with one scan. Only the range images will be used because of some patterns or different colors of fabrics. The intensity image, the range images in 2D and in 3D of one fabric sample are shown in FIG. 5 to explain why the intensity images are discarded.

[0056] Indeed the sample fabric has gray and yellow-green stripes. The gray stripes are wide and the yellow-green stripes are narrow. All stripes appear crooked due to the wrinkles in the fabric. Although the wrinkles on the sample are relatively small, it is obvious that the gray levels of the intensity image vary where there are wrinkles. However, if the intensity image is used to rate fabric wrinkling with methods such as the intensity surface ratio and shade area ratio, it is difficult to separate the wrinkles and the stripes unless some additional methods are applied to remove the stripes. In fact, there are many different and complicated color patterns in fabrics, and it is not practical to remove all the fabric patterns before ranking wrinkles.

[0057] Without the interference of stripes, the range image characterizes the wrinkle height well. Shown in FIGS. 5(b) and (c), the range images change their gray levels with the occurrence of wrinkles. As explained above, the gray level of each pixel is proportional to the height of the corresponding wrinkle.

[0058] With the movement of the plane board, sheet-of-light range imacinc covers a two-dimensional field of view on each fabric or replica. The size of the field of view is measured when the images of a square-scaled plane are captured. The size of the squares is 1×1 in².

[0059] Three points are marked in the intensity images: P₁(365,148), P₂ (370,346) and P₃ (175,338) so that the distances are P₁P₂=3 inches and P₂P₃=3 inches. Setting the resolutions X pixels/inch along the row direction, and Y pixels/inch along the column direction, the following equations are written: $\begin{matrix} {{{\frac{\left( {365 - 370} \right)^{2}}{X^{2}} + \frac{\left( {148 - 346} \right)^{2}}{Y^{2}}} = 3^{2}},} & \left( {{Eq}.\quad 2.3} \right) \\ {{\frac{\left( {370 - 175} \right)^{2}}{X^{2}} + \frac{\left( {346 - 338} \right)^{2}}{Y^{2}}} = {3^{2}.}} & \left( {{Eq}.\quad 2.4} \right) \end{matrix}$

[0060] The solutions of X and Y are 65.0531 and 66.0217 pixels/inch, respectively. For range images, the field of view is 7.8705×7,7550 in². The replica size is 12×13 inches and the size of the fabric specimens is 14×15 in². It is noted that the central parts of fabric specimens are the regions of interest, since we want to get rid of effects from hemmed fabric borders. The images captured by the laser camera system cover about 40% of the whole replica areas. Images of three parts of each replica are captured: the central (CTR), bottom-left (BL) and upper-right (UR) areas. Each part covers about 30% of the entire fabric area. Although a 7.8705×7.7550-in² area is small, it is large enough to include wrinkle information of each fabric and replica while preventing effects of hemmed fabric borders at the same time.

[0061] The wrinkle depths on each replica or fabric sample are represented by pixel values in the range images. The depth/range resolution is measured with the help of a 0.05-inch thick CD. The pixel values of the CD range image are 30 higher than those of the plane board. So the depth resolution can be obtained as: $\begin{matrix} {{{\frac{0.05\quad {inches}}{30} \times 25400\quad {µm}\text{/}{inches}} = {42.3\quad {µm}}},} & \left( {{Eq}.\quad 2.5} \right) \end{matrix}$

[0062] which is adequate for the system to capture any levels of wrinkles except those creases less than 42 μm in depth on the No. 3 replica. Some creases shown in the intensity images are lost in the range images.

[0063] Observed from the images of the CD, there are limitations of the laser camera system: (1) the objects of interest cannot be transparent, (2) the detected objects cannot be completely reflective, and (3) it is desired that the discrepancy of depths all over the object should not be large enough to cause occlusion, especially for objects with big bumps. Fortunately, the replicas and fabrics are neither transparent nor completely reflective. With an appropriate projection angle of the laser line, any occlusion may be prevented even if there are bumps on the fabrics and replicas. A more detailed discussion regarding bumps will be covered in the next chapter.

Facet Model Algorithm

[0064] To extract a feature that describes wrinkle degrees from the range-images, the facet model algorithm is developed consisting of the following steps:

[0065] 1. A range image is first processed by a notch filter.

[0066] 2. Then it is passed through two low-pass filters with different window sizes, generating two blurred images.

[0067] 3. A difference image is obtained by subtracting the two blurred images.

[0068] 4. The facet model is used and the difference image is treated as a piecewise-continuous gray level surface around each pixel by applying bivariate-cubic polynomials to approximate this surface.

[0069] 5. Topographic categories on the continuous surfaces are calculated.

[0070] 6. The pixel areas of hillside slopes, ridges, peaks, ravines and pits are summed up as a feature to describe the degrees of wrinkles.

[0071] The facet model algorithm flow chart is shown in FIG. 6. The input image is the range image captured by the laser camera system. Below is a detailed description of the algorithm.

[0072] The laser camera system has such a high resolution of 42 μm that weaving patterns of fabrics show up in the range images. The weaving patterns are composed of tiny lines in the horizontal direction. For fabric samples with smooth surfaces labeled as No. 3.5, No. 4 or No. 5, their texture-weaving patterns may seriously affect topographic labeling operation. To solve this problem, preprocessing such as applying a notch filter to the range image is necessary.

[0073] Considered as an example to illustrate the notch filtering, this patterned fabric image is first processed by an FFT (Fast Fourier Transform) and its transformed image in the frequency domain is shown, The frequency components of the weaving patterns are marked. The notch filtering is performed in this frequency domain. The notch filter is defined by removing the components of the four 80×1600.

[0074] This notch filter is used for filtering the frequency components of weaving patterns and at the same time this filtering operation retains the other frequency components as much as possible. In our experimental fabric specimens all the weaving patterns are the vertical or horizontal lines therefore, their frequency components are located at the horizontal axes or the vertical axes in the Fourier spectra of the range images. This is the reason why this notch filter is chosen to remove the weaving patterns of fabrics.

[0075] This frequency filter is ideal because only the frequencies outside those rectangles pass without any attenuation while any of those frequencies inside those rectangles cannot pass. That means there is a sharp discontinuity that sets up a clear cutoff between passed and filtered frequencies. The ideal filter introduces ringing artifacts in the filtered image. However, no negative effects from ringing have been found in the following operations of the algorithm. If the ringing artifacts are unacceptable, other filters (such as a Butterworth low-pass filter and an exponential low-pass filter) can be used.

[0076] Finally an IFFT (Inverse Fast Fourier Transform) is applied to the low-frequency components. After the notch-filtering operation is performed, we obtain the filtered image free of weaving patterns. Besides, the filtered image has an additional advantage: The image is blurred, which is desirable in the following operations.

[0077] Thus, we achieve our goal and get a blurred image at the same time. However, the image is not smooth enough, further smoothing will be carried out in the next step.

[0078] After removing the interference from the weaving patterns, blurring with different window sizes and pixel subtraction are applied to further highlight the wrinkles and eliminate the interference from bumps. It is found that bumps of different sizes are often mixed with wrinkle heights/depths in the range images. Pixel subtraction is used to remove the bump effects. The No.3 replica is now taken as an example to illustrate the steps: blurring and subtraction.

[0079] The 2D and 3D versions of the range images of the No. 3 replica are observed showing the that the range image of the replica has bumps, which are characterized as come large areas of different brightness. It is obvious that the bumps are mixed with the wrinkles of the No.3 replica. The filtered image from the previous step is shown where the bumps still exist. To eliminate this kind of mixing between bumps and wrinkles, pixel subtraction is used to extract wrinkles only. During blurring, the boundaries are ignored without any negative effect.

[0080] Resulting images A_(WS1) and B_(WS2) from blurring with the window size 91 (WS1=91) and window size 5 (WS2=5), respectively, are produced. Generally, it is desired that WS1 be larger than WS2. The difference image after the pixel-by-pixel subtraction of the two blurred images (B_(WS2)−A_(WS1)) were produced. During the subtraction, the image A_(WS1) is considered as a background with bumps, and this background is subtracted from the image B_(WS2). The bump exists in the original image. In the difference image, it is obvious that the bumps are removed. It is noted that after the subtraction, the values of each pixel might be negative, zero or positive.

[0081] The resulting images from the notch filter in the previous step are always still noisy because of the appearance properties of the fabric specimens. The fabric specimens always have hairiness, more or less. So WS2 is chosen to be greater than or equal to 5 in order to obtain the desired smoothening effects.

[0082] Actually, the subtraction does affect the wrinkle properties. The image A_(WS1) shown is considered as a background that contains more or less information about the wrinkles. This wrinkle information is lost after the operation of pixel subtraction. The extent of this effect depends on WS1, WS2 together with the sizes and widths of the wrinkles. Here WS1 is chosen as large as 91 to decrease this extent from subtraction.

[0083] The facet model is a powerful tool to estimate a smooth surface of the neighborhood around a certain pixel. It has been used for the detection of edges, corners, curves and ridges, and surface topography analysis.

[0084] The commonly used forms for the facet model include: piecewise constant (flat facet model), piecewise linear (sloped facet model), piecewise quadratic and piecewise cubic. In the flat model, each ideal region in the image is constant in gray level. In the sloped model, each ideal region has a gray level surface that is a sloped plane. Similarly, in the quadratic and cubic models, regions have gray level surfaces that are bivariate quadratic and cubic surfaces, respectively. The facet model used in this project is the piecewise cubic.

[0085] Two coordinates are defined in the facet model. One is the image coordinate and (i, j) represents the pixel of row i and column j. The other is the coordinate of the facet model window (Ψ) and (r, c) represents the point of row r and column c. A pixel (i, j) in an image is set as the origin (0,0) in the coordinate of Ψ. Here i and j are only integers, and r and c can be any real data. The relationship between the image pixel (i, j) and the point (r, c) of the facet model window is shown in FIG. 7. For example, FIG. 8 shows a window of 7×7 in the coordinate (r, c). Here it is assumed that the points (r, c) when r and c are integers, such as (0,0), (1, 0), (−1, 0), (0,1) and so on, are located at the center of each pixel in the image. That will bring in one problem for the application of topographic labeling, which will be discussed in the implementation of topographic labeling later.

[0086] The estimation function f for the facet model takes the bivariate cubic form,

f(r,c)=k ₁ +k ₂ r+k ₃ c+k ₄ r ² +k ₅ rc+k ₆ c ² +k ₇ r ³ +k ₈ r ² c+k ₉ rc ² +k ₁₀ c ³,  (Eq. 3.1)

[0087] to fit a neighborhood area of the pixel (i, j). This neighborhood is always defined as a square window of a certain size (ws×ws) and centered at the pixel (i, j), which is the origin (r, c)=(0, 0).

[0088] The set {k₁,k₂,k₃, . . . , k₁₀} used in Eq.3,1 is a group of coefficients that are different for each pixel of the entire image. Such functions of Eq.3.1 are easily represented as linear combinations of the polynomials in any polynomial basis set. The easiest set is a polynomial basis set permitting the independent estimation of each coefficient. Such a basis set is the set of discrete orthogonal polynomials. That is, the basis set holds polynomials that are mutually orthogonal and such a basis set is mutually orthogonal.

[0089] According to the Gram-Schmidt Orthogonalization Procedure, there is an inductive technique to generate a mutually orthogonal set from any linearly independent set. The term of “linear independence” is defined as follows:

[0090] In a vector space S, if the elements of {x₁, x₂, . . . x_(n)} belong a to the vector space S, then a combination x=l₁x₁+l₂x₂+ . . . +l_(n)x_(n) is also in the vector space S. The combination x is said to be a linear combination of x₁, x₂, . . . , x_(n). When l₁x₁+l₂x₂+ . . . +l_(n)x_(n)=0, if the only linear combination of x₁, x₂, . . . , x_(n) has all l_(j) equal to zero, the set {x₁, x₂, . . . , x_(n)} is said to be linearly independent.

[0091] Here in our problem,

{x₁, x₂, x₃, . . . x₁₀}={l,r,c,r²,rc,c²,r³,r²c,rc²,c³}  (Eq. 3.2)

[0092] is a set of functions that are linearly independent. Suppose a mutually orthogonal set is generated by the inductive technique:

{P₁,P₂,P₃ . . . , P₁₀}  (Eq. 3.3)

[0093] After setting P₁=x₁, the set elements P_(i)(i=2,3, . . . , 10) are obtained from the following inductive equation: $\begin{matrix} {{P_{n} = {x_{n} - {\underset{j = 1}{\overset{n - 1}{\quad\sum\quad}}\frac{{\langle{x_{n},P_{j}}\rangle}P_{j}}{\langle{P_{j},P_{j}}\rangle}}}},{n = 2},3,{4\quad \ldots}\quad,10,} & \left( {{Eq}.\quad 3.4} \right) \end{matrix}$

[0094] where <,> means the inner product or dot product. It is noted that the region of the inner product covers the whole region (Ψ) of each facet model window. Therefore each set of such discrete orthogonal polynomials is definitely dependent on the facet model window size. For example, if the window size is chosen as 5 (ws=5), the basis set of orthogonal polynomials is calculated as follows

P₁(r, c)=1  (Eq.3.5)

P₂(r, c)=r

P₃(r, c)=c

P₄(r, c)=r²−2

P₅(r, c)=rc

P₆(r, c)=c²−2

P₇(r, c)=r³−3.4r

P₈(r, c)=r²c−2c

P₉(r, c)=rc²−2r

P₁₀(r, c)=c³−3.4c

[0095] If the window size is set as 11 (ws=11), the basis set of orthogonal polynomials is different from that of ws=5:

P₁(r, c)=1  (Eq.3.6)

P₂(r, c)=r

P₃(r, c)=c

P₄(r, c)=r²−10

P₅(r, c)=rc

P₆(r, c)=c²−10

P₇(r, c)=r³−17.8r

P₈(r, c)=r²c−10c

P₉(r, c)=rc²−10r

P₁₀(r, c)=c³−17.8c

[0096] Thus, a mutually orthogonal set obtained is used to calculate the coefficients of Eq.3.1. If exact fitting occurs, Eq3.1 is rewritten as: $\begin{matrix} {{f\left( {r,c} \right)} = {{d\left( {r,c} \right)} = {\sum\limits_{n = 1}^{N = 10}{a_{n}{{P_{n}\left( {r,c} \right)}.}}}}} & \left( {{Eq}.\quad 3.7} \right) \end{matrix}$

[0097] Note d(r,c)is the neighborhood gray-level data over the whole window Ψ around a pixel (i, j). Here a_(n)'s are a group of new coefficients that are functions of k_(n)'s, i.e.,

a _(n) =a _(n)(k ₁ ,k ₂ ,k ₃ , . . . , k ₁₀), n=1, 2, . . . 10.  (Eq. 3.8)

[0098] In other words, k_(n)'s can be obtained after the coefficients of a_(n)'s are calculated, i.e.,

k _(n) =k _(n)(a ₁ , a ₂ , a ₃ , . . . , a ₁₀) n=1, 2, . . . 10.  (Eq. 3.9)

[0099] Note that both k_(n)'s and a_(n)'s are constants for each pixel (i, j). It means that calculating the coefficients of k_(n) is equivalent to calculating these coefficients of a_(n)·a_(n)'s are obtained with the equal-weighted least-squared fitting method. Let (r, c)εΨ, the approximate fitting problem is to determine coefficients a_(n)(n=1, 2, . . . 10) such that $\begin{matrix} {e^{2} = {\underset{{({r,c})} \in \Psi}{\quad\sum\quad}\left\lbrack {{d\left( {r,c} \right)} - {\sum\limits_{n = 1}^{10}{a_{n}{P_{n}\left( {r,c} \right)}}}} \right\rbrack^{2}}} & \left( {{Eq}.\quad 3.10} \right) \end{matrix}$

[0100] is minimized (e is the error between the fitting value and the gray-level data). The result is $\begin{matrix} {{a_{m} = \frac{\sum\limits_{{({r,c})} \in \Psi}{{P_{m}\left( {r,c} \right)}{d\left( {r,c} \right)}}}{\sum\limits_{{({r,c})} \in \Psi}{P_{m}^{2}\left( {r,c} \right)}}},{m = 1},2,\ldots \quad,10} & \left( {{Eq}.\quad 3.11} \right) \end{matrix}$

[0101] Actually the convenience of using an orthogonal basis set appears during the procedure of solving for a_(m) since the values of ${\underset{{({r,c})} \in \Psi}{\quad\sum\quad}{{P_{m}\left( {r,c} \right)}{\sum\limits_{{({r,c})} \in \Psi}{P_{m^{\prime}}\left( {r,c} \right)}}}},$

[0102] (m=1, 2, . . . , 10, and m′=1, 2, . . . , 10) are zero if m≠m′.

[0103] Eq.3.11 is interesting because it means that each fitting coefficient a_(m) can be computed as a linear combination of the gray level data of d(r, c). For each pixel over the related window Ψ, the gray level value d(r,c) is multiplied by the weight $\begin{matrix} {\frac{P_{m}\left( {r,c} \right)}{\sum\limits_{{({r,c})} \in \Psi}{P_{m}^{2}\left( {r,c} \right)}},} & \left( {{Eq}.\quad 3.12} \right) \end{matrix}$

[0104] which is just an appropriate normalization of an evaluation of the polynomial P_(m) at the index (r, c). According to Eqs.3.11 and 3.12, there are some filters that are used to calculate these coefficients of a_(n) around each pixel in the image. For example, using Eq.3.5, the weights of Eq.3.12 for the 5×5 neighborhood are shown in Table 1.

[0105] These kinds of weights are called the kernels of the facet model. TABLE 1 $\begin{matrix} {\begin{matrix} 1 & 1 & 1 & 1 & 1 \\ 1 & 1 & 1 & 1 & 1 \\ 1 & 1 & 1 & 1 & 1 \\ 1 & 1 & 1 & 1 & 1 \\ 1 & 1 & 1 & 1 & 1 \end{matrix}\begin{matrix} {- 2} & {- 2} & {- 2} & {- 2} & {- 2} \\ {- 1} & {- 1} & {- 1} & {- 1} & {- 1} \\ 0 & 0 & 0 & 0 & 0 \\ 1 & 1 & 1 & 1 & 1 \\ 2 & 2 & 2 & 2 & 2 \end{matrix}\begin{matrix} {- 2} & {- 1} & 0 & 1 & 2 \\ {- 2} & {- 1} & 0 & 1 & 2 \\ {- 2} & {- 1} & 0 & 1 & 2 \\ {- 2} & {- 1} & 0 & 1 & 2 \\ {- 2} & {- 1} & 0 & 1 & 2 \end{matrix}\begin{matrix} 2 & 2 & 2 & 2 & 2 \\ {- 1} & {- 1} & {- 1} & {- 1} & {- 1} \\ {- 2} & {- 2} & {- 2} & {- 2} & {- 2} \\ {- 1} & {- 1} & {- 1} & {- 1} & {- 1} \\ 2 & 2 & 2 & 2 & 2 \end{matrix}\begin{matrix} 4 & 2 & 0 & {- 2} & {- 4} \\ 2 & 1 & 0 & {- 1} & {- 2} \\ 0 & 0 & 0 & 0 & 0 \\ {- 2} & {- 1} & 0 & 1 & 2 \\ {- 4} & {- 2} & 0 & 2 & 4 \end{matrix}} \\ {1\text{/}25\quad a_{1}\quad 1\quad 1\text{/}50\quad a_{2}\quad r\quad 1\text{/}50\quad a_{3}\quad c\quad 1\text{/}70\quad a_{4}\quad \left( {r^{2} - 2} \right)\quad 1\text{/}100\quad a_{5}\quad r\quad c} \end{matrix}\quad$

$\begin{matrix} {{\begin{matrix} 2 & {- 1} & {- 2} & {- 1} & 2 \\ 2 & {- 1} & {- 2} & {- 1} & 2 \\ 2 & {- 1} & {- 2} & {- 1} & 2 \\ 2 & {- 1} & {- 2} & {- 1} & 2 \\ 2 & {- 1} & {- 2} & {- 1} & 2 \end{matrix}\begin{matrix} {- 1} & {- 1} & {- 1} & {- 1} & {- 1} \\ 2 & 2 & 2 & 2 & 2 \\ 0 & 0 & 0 & 0 & 0 \\ {- 2} & {- 2} & {- 2} & {- 2} & {- 2} \\ 1 & 1 & 1 & 1 & 1 \end{matrix}\begin{matrix} {- 4} & {- 2} & 0 & 2 & 4 \\ {\quad 2} & 1 & 0 & {- 1} & {- 2} \\ 4 & 2 & 0 & {- 2} & {- 4} \\ 2 & 1 & 0 & {- 1} & {- 2} \\ {- 4} & {- 2} & 0 & 2 & 4 \end{matrix}\begin{matrix} {- 4} & 2 & 4 & 2 & {- 4} \\ {- 2} & 1 & 2 & 1 & {- 2} \\ 0 & 0 & 0 & 0 & 0 \\ 2 & {- 1} & {- 2} & {- 1} & 2 \\ 4 & {- 2} & 2 & {- 2} & 4 \end{matrix}\begin{matrix} {- 1} & 2 & 0 & {- 2} & 1 \\ {- 1} & 2 & 0 & {- 2} & 1 \\ {- 1} & 2 & 0 & {- 2} & 1 \\ {- 1} & 2 & 0 & {- 2} & 1 \\ {- 1} & 2 & 0 & {- 2} & 1 \end{matrix}}\quad {1\text{/}70\quad a_{6}\quad \left( {C^{2} - 2} \right)\quad 1\text{/}50\quad a_{7\quad}\quad \left( \quad {r^{3} - {3.4r}}\quad \right)\quad 1\text{/}140\quad a_{8}\quad \left( {{r^{2}c} - {2c}} \right)\quad 1\text{/}140\quad a_{9}\quad \left( {{r\quad c^{2}} - {2r}} \right)\quad 1\text{/}50\quad a_{10}\quad \left( {c^{3} - {3.4c}} \right)}} \end{matrix}\quad$

[0106] After obtaining the coefficients (a₁, a₂,a₃, . . . , a₁₀) it is easy to get the coefficients (k₁, k₂, k₃, . . . , k₁₀). That is, for the 5×5 facet model the coefficients k_(n)'s are as follows:

k₁=a₁−2·(a₄+a₆)  (Eq. 3.13)

k₂=a₂−3.4a₇−2a₉

k₃=a₃−2a₈−3.4a₁₀

k₄=a₄

k₅=a₅

k₆=a₆

k₇=a₇

k₈=a₈

k₉=a₉

k₁₀=a₁₀

[0107] For each pixel of an image, there is a group of coefficients of k_(n)'s for the facet model. Therefore if an image has M×N pixels, then there are M×N groups of coefficients of k_(n)'s. In other words, all k_(n)'s are functions of (i, j): k_(n)=k_(n)(i, j), n=1, 2, . . . , 10. It is noted that the facet model window may overlap outside the boundaries of the image. No consideration is granted to these boundary pixels. As mentioned before, the boundary pixels are ignored without any negative effect.

[0108] Once the fitting coefficients have been calculated, the estimated polynomials for all pixels of the image are given by Eq. 3.1. It should be noted that there is a kind of approximation in calculating these coefficients. The function of Eq.3.1 is considered as a combination of discrete polynomials around the region Ψ while calculating these coefficients. After this, the function of Eq.3.1 is considered as being continuous around the region Ψ. This continuous function always permits us to obtain the first and second directional derivatives at any point. Then it is possible to process topographic labeling.

[0109] The derivatives of 2D functions are directional. For the function in Eq.3.1, the directional derivative in the direction a is defined as $\begin{matrix} {{f_{\alpha}^{\prime}\left( {r,c} \right)} = {\lim\limits_{h->0}{\frac{{f\left( {{r + {h\quad \sin \quad \alpha}},{c + {h\quad \cos \quad \alpha}}} \right)} - {f\left( {r,c} \right)}}{h}.}}} & \left( {{Eq}.\quad 3.14} \right) \end{matrix}$

[0110] The direction α is the clockwise angle starting from the column axis. Directly from the above definition, $\begin{matrix} {{f_{\alpha}^{\prime}\left( {r,c} \right)} = {{\frac{\partial{f\left( {r,c} \right)}}{\partial r}\sin \quad \alpha} + {\frac{\partial{f\left( {r,c} \right)}}{\partial c}\cos \quad {\alpha.}}}} & \left( {{Eq}.\quad 3.15} \right) \end{matrix}$

[0111] The second derivative in the direction α at the point (r, c) is $\begin{matrix} {{f_{\alpha}^{''}\left( {r,c} \right)} = {{\frac{\partial^{2}{f\left( {r,c} \right)}}{\partial r^{2}}\sin^{2}\alpha} + {\frac{\partial^{2}{f\left( {r,c} \right)}}{{\partial r}{\partial c}}\sin \quad {\alpha cos\alpha}} + {\frac{\partial^{2}{f\left( {r,c} \right)}}{\partial c^{2}}\cos^{2}{\alpha.}}}} & \left( {{Eq}.\quad 3.16} \right) \end{matrix}$

[0112] The gradient of the function at (r, c) is a vector whose magnitude is given by $\begin{matrix} {\sqrt{\left( \frac{\partial f}{\partial r} \right)^{2} + \left( \frac{\partial f}{\partial c} \right)^{2}}.} & \left( {{Eq}.\quad 3.17} \right) \end{matrix}$

[0113] This magnitude is the maximum rate of change of the function at the point (r, c) with its angle, $\begin{matrix} {\beta = {{\tan^{- 1}\left( \frac{{\partial f}/{\partial r}}{{\partial f}/{\partial c}} \right)}.}} & \left( {{Eq}.\quad 3.18} \right) \end{matrix}$

[0114] Along the direction of β, the function has the greatest change rate.

[0115] The following notation is used to describe the mathematical properties of the topographic categories for continuous smooth surfaces expressed by ƒ(r,c)

[0116] ∇ƒ The gradient vector of the function ƒ(r,c)

[0117] ∥∇ƒ∥ The gradient magnitude

[0118] ω₍₁₎ The unit vector in the direction where the second directional derivative has the greatest magnitude

[0119] ω₍₂₎ The unit vector that is orthogonal to ω₍₁₎

[0120] λ₁ The second directional derivative in the direction of ω₍₁₎

[0121] λ₂ The second directional derivative in the direction of ω₍₂₎

[0122] ∇ƒ·ω₍₁₎ The first directional derivative in the direction of ω₍₁₎

[0123] ∇ƒ·ω₍₂₎ The first directional derivative in the direction of ω₍₂₎.

[0124] Without loss of generality, inequality |λ₁≧|λ₂| is assumed.

[0125] The five partial derivatives encountered here, ∂ƒ/∂r, ∂ƒ/∂c, ∂²ƒ/∂r², ∂²ƒ/∂r∂c, and ∂ƒ²/∂c², have to be approximated in order to calculate the parameters listed above. The 2×2 Hessian matrix is introduced to calculate λ₁, λ₂, ω₍₁₎ and ω₍₂₎. The Hessian matrix is $\begin{matrix} {H = {\begin{pmatrix} {{\partial^{2}f}/{\partial r^{2}}} & {{{\partial^{2}f}/{\partial r}}{\partial c}} \\ {{{\partial^{2}f}/{\partial r}}{\partial c}} & {{\partial^{2}f}/{\partial c^{2}}} \end{pmatrix}.}} & \left( {{Eq}.\quad 3.19} \right) \end{matrix}$

[0126] The matrix satisfies the following equations:

Hω ₍₁₎=λ₁ω₍₁₎ , Hω ₍₂₎=λ₁ω₍₂₎.  (Eq. 3.20)

[0127] That is, λ₁, λ₂, ω₍₁₎ and ω₍₂₎ can be obtained by calculating the eigenvalues and eigenvectors of the Hessian matrix.

[0128] Based on ∥∇ƒ∥, λ₁, λ₂, ∇ƒ·ω₍₁₎ and ∇ƒ·ω₍₂₎, the mathematical criteria for topographic labeling are shown in Table 3.1. In the table ‘+’, ‘0’, and ‘−’ represent that the values are positive, zero or negative, respectively. ‘*’ means “DO NOT CARE”, which means the relevant parameter might be set to be any value. It is noted that ‘0’ here actually means “not significantly different from zero”. The last column contains the label values ranging from 1 (flat) to 10 (pit) corresponding to topographic categories.

[0129] In fact, the classification criteria listed in Table 2 cannot be directly used because there is a problem when applying the classification in a one-pixel area. If the topographic classification is only applied to the point, the center of each pixel, then for example, a pixel having a peak near one of its corners might be misclassified as a concave hill rather than as a peak. On one hand, the topographic classification must be a sampling of the actual topographic surface classes. On the other hand, it is most likely that some categories like peak, pit, ridge, ravine and saddle might never occur precisely at a pixel's center. Not occurring precisely at a pixel's center, they might occur just around that one-pixel area. If these cases occur, the pixels should be classified as those categories rather than the classification labels of the pixels' center points. TABLE 2 Topographic ∥∇ƒ∥ λ₁ λ₂ ∇ƒ · {overscore (ω)}₍₁₎ ∇ƒ · {overscore (ω)}₍₂₎ Categories Labels 0 − − 0 0 Peak 8 0 − 0 0 0 Ridge 7 0 − + 0 0 Saddle 2 0 0 0 0 0 Flat 1 0 + − 0 0 Saddle 2 0 + 0 0 0 Ravine 9 0 + + 0 0 Pit 10 + − − ≠0 ≠0 Hillside (concave) 4 + − * 0 * Ridge 7 + * − * 0 Ridge 7 + − 0 ≠0 * Hillside (concave) 4 + − + ≠0 ≠0 Hillside (saddle) 5 + 0 0 * * Hillside (slope) 6 + + − ≠0 ≠0 Hillside (saddle) 5 + + 0 ≠0 * Hillside (convex) 3 + + * 0 * Ravine 9 + * + * 0 Ravine 9 + + + ≠0 ≠0 Hillside (convex) 3 + * 0 0 0 Cannot occur —

[0130] Topographic labels are divided into 2 subsets: (1) Those labels indicating that a strict, local, 1D extreme has ocurred (peak, pit, ridge, ravine, and saddle) and (2) those labels not indicating that a strict, local, one-dimensional extreme has occurred (flat and hillside). It is not necessary to search the pixel's entire area for the zero crossing of the first directional derivative, but search only in the directions of extreme second directional derivatives, ω₍₁₎ and ω₍₂₎. This method can minimize the chance of overlooking an important topographic structure, since these directions are well aligned with curvature properties, and at the same time the computational cost becomes very small.

[0131] If λ₁=λ₂≠0, the directions ω₍₁₎ and ω₍₂₎ are not uniquely defined. In this case a zero crossing is searched for along the Newton direction, H⁻¹·∇ƒ, which points directly towards the extreme of a quadratic surface,

[0132] Once the first derivative maximum occurs, a zero crossing of the second directional derivative is searched for along the gradient direction. For a one-dimensional extreme, there are four cases to be considered: no zero crossing; one zero crossing; two zero crossings; and more than two crossings of the first directional derivative.

[0133] Case 1

[0134] If no zero crossing is found along either of the two extreme directions within the one-pixel area, then the pixel cannot be a local extreme and therefore must be assigned a label from the set (flat or hillside). The classification criteria are listed in Table 3. TABLE 3 ∥∇ƒ∥ λ₁ λ₂ Topographic Categories Labels 0 0 0 Flat 1 + − − Concave hill 4 + − 0 Concave hill 4 + − + Saddle hill 5 + 0 0 Slope 6 + + − Saddle hill 5 + + 0 Convex hill 3 + + + Convex hill 3

[0135] Case 2

[0136] If a zero crossing of the first directional derivative is found within the one-pixel area, then the pixel is a strict, local and one-dimensional extreme and must be assigned a label from the set (peak, pit, ridge, ravine, or saddle). At the location of the zero crossing, the Hessian and gradient are recomputed. The classification criteria ae applied as listed in Table 4. TABLE 4 ∥∇ƒ∥ λ₁ λ₂ Topographic Categories Labels 0 − − Peak 8 0 − 0 Ridge 7 0 − + Saddle 2 0 + − Saddle 2 0 + 0 Ravine 9 0 + + Pit 10

[0137] Case 3

[0138] If there are two zero crossings of the first directional derivative, one in each direction of extreme curvature, then the Hessian and gradient must be recomputed at each zero crossing. Using the procedure just described, a label is assigned to each zero crossing. These labels are called Label 1 and Label 2. The final classification criteria are then based on the two labels as shown in Table 5. TABLE 5 Label 1 Label 2 Resulting final label Peak (8) Peak (8) Peak (8) Peak (8) Ridge (7) Peak (8) Pit (10) Pit (10) Pit (10) Pit (10) Ravine (9) Pit (10) Saddle (2) Saddle (2) Saddle (2) Ridge (7) Ridge (7) Ridge (7) Ridge (7) Ravine (9) Saddle (2) Ridge (7) Saddle (2) Saddle (2) Ravine (9) Ravine (9) Ravine (9) Ravine (9) Saddle (2) Saddle (2)

[0139] Case 4

[0140] If more than two zero crossings occur within a one-pixel area, then in at least one of the extreme directions there are at least two zero crossings. Once this happens, the zero crossing closest to the one-pixel center is chosen and the others are ignored. With this approximation this case becomes identical to Case 3.

[0141] In summary, at each pixel of the image, the following four steps need to be performed:

[0142] 1. Calculate the fitting coefficients, k₁ through k₁₀, of a two-dimensional cubic polynomial in a ws×ws neighborhood around the pixel, as explained in section 3.1.3;

[0143] 2. Compute the gradient, the gradient magnitude, and the eigenvalues and eigenvectors of the Hessian matrix at the center (0,0) of the pixel's neighborhood;

[0144] 3. Search in the direction of the eigenvectors for a zero crossing of the first directional derivative within the one-pixel area. If the eigenvalues of H are equal and nonzero, then search in the Newton direction;

[0145] 4. Recompute the gradient, the gradient magnitude, and the values of second directional derivative extremes at each zero crossing of the first directional derivative. Then apply the labeling method.

[0146] Take an image With four up-down Gaussian peak-pits as an example for topographic labeling.

[0147] As mentioned earlier, that ‘0’, in the above tables actually means “not significantly different from zero”. In the practical program some threshold values need to be set up to define positive, zero and negative values. Different thresholds are set for the values of gradient magnitude ∥∇ƒ∥ (grad_thr), eigenvalues λ_(11.2)(eig_thr), dot product ∇ƒ·ω_((1,2)) (dotp_thr) and general values (abs_thr), respectively. The threshold values are used to determine if either of the relevant parameters is essentially zero. For example, eig_thr is used as:

[0148] if |λ≦eig_th| then λ=0;

[0149] if λ>eig_thr then λ>0;

[0150] if λ<−eig_thr then λ<0.

[0151] The topographic labels are very sensitive to these threshold values. With the following threshold values: grad_thr=0.01, eig_thr=0.01, dotp_thr=0.01, abs_thr=0.01, and ws=5, the labeling result of the four Gaussian peak-pits is shown in FIG. 9.

[0152] When the threshold values are set as: grad_thr=0.25, eig_thr=0.5, dotp_thr=0.5, and abs_thr=0.01, and the facet model window size is 15, ws=15, the topographic labels are obtained (shown in FIG. 10) for the difference images of all replicas after the operation of pixel subtraction as mentioned previously, FIG. 10 indicates that the labeling results obviously reveal some information related to the wrinkle degrees of the six replicas,

[0153] Based on the labeling method, it is not certain how to decide what labels account for the degree of wrinkles in the fabrics or replicas, though topographically labeled images such as those shown in FIG. 10 obviously contain information about these wrinkles. From the labeling of the Gaussian peak-pits image shown in FIG. 9, it is also not clear which labels can be used to characterize wrinkle degrees.

[0154] In this project, those labels equal to 6 or greater than 6 are experimentally chosen and the pixel areas of these labels are summed up to indicate wrinkling decrees. These pixels include pits, ravines, peaks, ridges and hillside slopes. The binary images of the labels ≧6 resulting from FIG. 10 are shown in FIG. 11. The percentage (denoted by Θ) of labels ≧6 over the entire image (excluding the boundary areas) is calculated and is used as the feature for evaluating the wrinkles,

[0155] So far, the facet model algorithm has been described step by step. With Θ to indicate wrinkling degrees in replicas and fabrics, experimental results will be presented.

Plane-Cutting Algorithm

[0156] The plane-cutting algorithm is developed from the facet model algorithm. It is much simpler than the facet model algorithm, since the plane-cutting algorithm has lower mathematical calculations. This algorithm is illustrated in the following flow chart (FIG. 12).

[0157] Before the step (4), the steps executed are completely the same as those introduced in the facet model algtorithm. The input image (the original image) is processed let a notch filter, by blurring with different window sizes, and then by pixel subtraction. These steps are used to enhance wrinkles in the original range image. After that, the plane-cutting operation at range levels is performed to construct a curve of plane-cut pixel percentages versus range levels. Then the area, enclosed by the axes of plane-cut pixel percentages, range levels and the curve, is calculated to characterize the degree of wrinkles.

[0158] After the difference image is obtained from the subtraction, it is processed by plane-cutting. FIG. 13 shows how the plane-cutting operation at a range level works.

[0159] In FIG. 13, the horizontal cutting-plane at a certain range level is perpendicular to the range axis. The cutting-plane is parallel to the image plane constructed by the row and column axes. From the cutting plane and the range image, an intersected area is easily found as shown in FIG. 14. This image shows the total pixels at that range level of the difference image from the previous step. With a series of cutting-planes at different range levels, a curve of plane-cut pixels (percentage over the whole image) versus range levels is obtained (FIG. 15). The curve reveals some information of wrinkling.

[0160] In order to conveniently and numerically represent the wrinkling degrees based on the curves of plane-cut pixels versus range levels, the areas, enclosed by the axes of plane-cut pixels, range levels and the curves, are calculated to characterize the degrees of wrinkles. The larger the area, the more seriously the wrinkling. Alternatively, the areas of this enclosing are calculated as shown in FIG. 16. Instead of calculating the area of OABC, all the areas of rectangles (for example ODEF is one rectangle) are summed up while these rectangles are constructed to make each data point and the origin as their diagonal points. This area sum is symbolically denoted as Ω. Later the natural logarithm of Ω, log(Ω), is used to magnify tiny differences. That is, in the plane-cutting algorithm log(Ω) is the feature used for evaluating degrees of wrinkling.

[0161] The plane-cutting algorithm is relatively simple to apply, since the facet-model algorithm is related to mathematical calculations. The applications of both algorithms will be shown in the next chapter. In summary, the wrinkle-evaluation is simplified to be the following steps:

[0162] 1. Capturing range images of replicas and fabrics;

[0163] 2. Calculating the values of Θ in the facet model algorithm or log(Ω) in the plane-cutting algorithm;

[0164] 3. Classifying the replicas and fabric specimens by Θ or log(Ω);

[0165] 4. Comparing with classified replicas by wrinkling degrees originally labeled, and checking whether the two classifications are matched or not;

[0166] 5. Comparing with classified fabric specimens by wrinkle grades from technicians, and checking whether the two classifications are matched or not.

Experimental Results

[0167] There are 42 fabric specimens used to evaluate wrinkles. Before they were delivered to use with the laser camera system, each of them had been evaluated twice by three technicians. The purpose of this is to take an average grade for the degree of wrinkling of each fabric. Table 6 shows the detailed grades from the three technicians. The first and second columns are the sample order and the sample ID. The third and fourth columns are grades evaluated twice by the first technician. The interval between the twice evaluation is one week. The fifth and sixth columns are grades by the second technician. The seventh and eighth columns are grades by the third technician. The ninth column is the averages of the grades by all three technicians. The last column is the final grades rounded-up from the ninth column.

[0168] From Table 6, it is obvious that a fabric specimen might have different grades when evaluated by different technicians, and even when evaluated at different times by the same technician. There are quite a few reasons for this phenomenon. Besides the reasons of subjectivity mentioned above, the wrinkles might have been more or less altered during the evaluation process. For example, the sample 3 a was graded as No.3 (average) by technicians. The wrinkles of the sample 3 a shown in the range image have been altered so as to be No. 1 or No.2, and this sample is discarded. TABLE 6 Sample Sample Tech1 Tech1 Tech2 Tech2 Tech3 Tech3 Average Final Order ID First Second First Second First Second all degree  1  1TT 3 3 2 3 3 3 2.8333 3  2  2TT 2 2 2 2 2 2 2 2  3  3TT 3 3 3 3 3 3.5 3.0833 3  4  4TT 3 3 3 3 3 2 2.8333 3  5  5TT 1 1 1 2 2 2 1.5 1  6  6TT b 5 5 5 5 5 4 4.8333 5  7  7TT 3 3 3 3 3 3 3 3  8  8TT 2 2 2 1 2 2 1.8333 2  9  9TT a 4 4 3 3.5 3.5 3.5 3.5833 3.5 10 10TT 1 1 2 1 3 1 1.5 1 11 11TT b 5 5 5 5 5 3.5 4.75 5 12 12TT 1 1 1 1 2 1 1.1667 1 13 13TT a 4 4 3 3.5 3 3 3.4167 3.5 14 14TT b 5 5 5 5 5 4 4.8333 5 15 15TT 3 3 3 3 3 3 3 3 16 16TT 2 3 2 2 2 3 2.3333 2 17 17TT 3 3.5 3 3 3 3 3.0833 3 18 18TT a 4 4 3.5 3.5 3 3 3.5 3.5 19  1 a 3.5 4 3.5 4 3 3.5 3.5833 3.5 20  2 a 3.5 3 3.5 4 3 3.5 3.4167 3.5 X  3 a 4 2 4 3.5 3 3 3.25 3 21  4 a 4 3.5 3.5 3.5 3.5 3.5 3.5833 3.5 22  5 a 4 3.5 3.5 3.5 4 3 3.5833 3.5 23  6 a 3.5 3.5 4 3.5 4 3.5 3.6667 3.5 24  7 a 3.5 3 3 3 3 3 3.0833 3 25  8 a 4 3 3.5 3 3.5 3 3.3333 3 26  1 b 5 5 5 4 5 3.5 4.5833 5 27  2 b 5 5 5 5 5 4 4.8333 5 28  3 b 5 5 4 4 4 3.5 4.25 4 29  4 b 5 4 4 4 4 3.5 4.0833 4 30  5 b 5 5 5 5 5 4 4.8333 5 31  6 b 5 5 5 5 5 3.5 4.75 5 32  7 b 4 5 4 4 3.5 3.5 4 4 33  8 b 5 4 4 4 4 3 4 4 34  1 c 4 3 3.5 3.5 3.5 3 3.4167 3.5 35  2 c 3.5 3 4 4 3.5 3.5 3.5833 3.5 36  3 c 3 3 3 3 3 3 3 3 37  4 c 2 2 3 2 2 2 2.1667 2 38  5 c 4 4 4 4 4 3.5 3.9167 4 38  6 c 3 3.5 3 3 3 2 2.9167 3 40  7 c 3 3 3 3 3 3 3 3 41  8 c 4 3.5 3 3 3.5 3 3.3333 3

[0169] Now the algorithms discussed in the previous section are used to extract the feature values, Θ and log(Ω), from the range images. These range images of all fabric specimens are captured around the central parts of the fabrics, avoiding the hemmed boundary interferences. The 6 replicas mentioned above are graded as 1, 2, 3, 3.5, 4 and 5. For each replica, three images are captured by the laser camera system and they are located on the central (CTR), bottom-left (BL) and upper-right (UR) positions. It is noted that the three parts overlap and a sketch map of them is depicted in FIG. 17

[0170] When the parameters used in the facet model algorithm are as follows:

[0171] Blurring window sizes: WS1=91, WS2=11,

[0172] Facet model window size: ws=15,

[0173] Threshold values: grad_thr=0.175, eig_thr=0.5, dotp_thr=0.5, abs_thr=0.01,

[0174]FIG. 18 shows the curves of Θ versus wrinkle grades for all six replicas. We call these Θ as Θ(91/11/15),expressing the blurring window sizes and the facet model window size. The horizontal axis is the levels of replicas: 1, 2, 3, 3.5, 4, and 5, and the vertical axis is the Θ values of all replicas ranging from almost 0 to 85%. It is observed that the three parts of each replica are clustered together through their values of Θ. The six replicas show substantial differences from each other. The values of Θ are decreased with the increase of the wrinkling grade values, except for the No.3 replica since it contains a different type of wrinkle: creases.

[0175] It is noted that the results obtained above depend on the parameters such as the blurring window sizes, the facet model window size, threshold values, and the notch filter window size as well. According to the properties of the creases, different window sizes of blurring and the facet model are applied as follows:

[0176] Blurring window sizes: WS1=15, WS2=5;

[0177] Facet model window size: ws=11.

[0178] When the other parameters are kept the same, the curves of Θ versus wrinkle grades for all six replicas are plotted in FIG. 19. We call these Θ as Θ(15/05/11). With the smaller blurring window sizes, the values Θ of all replicas are able to separate the replicas except between the No.5, No.4, and No.3,5 replicas. However, much difference between the No.3 and No.3.5 has been obtained. Therefore, as shown in FIG. 4.3, the replicas can be classified into 5 categories: No. 1, No. 2, No.3 and No. 3.5 together, No. 4, and No.5. Then according to the difference between the No.3 and No 3.5 replicas shown in FIG. 4.4, the No.3 and No.3.5 replicas can be separated into two categones. In the next section this difference is used to classify the fabrics between No.3 and No.3.5.

[0179] According to the results of replicas shown in above, the application procedure for the fabric specimens is indicated in the following flow chart FIG. 20. Once the value of Θ(91/11/15)or Θ(15/05/11) of a fabric specimen is calculated, it is compared to the corresponding average values of each replica, and the fabric is then graded the same as a replica which has the most similar value of Θ. The grades of all fabric specimens are shown in Table 7.

[0180] From Table 7, it is observed that the grades from the facet model algorithm are not completely consistent with the grades by the technicians, and the correlation coefficient between them is about 88.5%. Comparing the two kinds of wrinkle grades, the mismatch occurs in the way the grade values from the facet model algorithm are often TABLE 7 Sample Tech1 Tech1 Tech2 Tech2 Tech3 Tech3 Average Final Facet Model ID First Second First Second First Second all grades grades Correl. Coeff.  1TT 3 3 2 3 3 3 2.83333 3 2 0.88458052  2TT 2 2 2 2 2 2 2 2 1  3TT 3 3 3 3 3 3.5 3.08333 3 2  4TT 3 3 3 3 3 2 2.83333 3 2  5TT 1 1 1 2 2 2 1.5 1 1  6TT b 5 5 5 5 5 4 4.83333 5 4  7TT 3 3 3 3 3 3 3 3 2  8TT 2 2 2 1 2 2 1.83333 2 1  9TT a 4 4 3 3.5 3.5 3.5 3.58333 3.5 3.5 10TT 1 1 2 1 3 1 1.5 1 1 11TT b 5 5 5 5 5 3.5 4.75 5 4 12TT 1 1 1 1 2 1 1.16667 1 1 13TT a 4 4 3 3.5 3 3 3.41667 3.5 3.5 14TT b 5 5 5 5 5 4 4.83333 5 3.5 15TT 3 3 3 3 3 3 3 3 2 16TT 2 3 2 2 2 3 2.33333 2 1 17TT 3 3.5 3 3 3 3 3.08333 3 2 18TT a 4 4 3.5 3.5 3 3 3.5 3.5 3.5  1 a 3.5 4 3.5 4 3 3.5 3.58333 3.5 3.5  2 a 3.5 3 3.5 4 3 3.5 3.41667 3.5 2  4 a 4 3.5 3.5 3.5 3.5 3.5 3.58333 3.5 3.5  5 a 4 3.5 3.5 3.5 4 3 3.58333 3.5 3  6 a 3.5 3.5 4 3.5 4 3.5 3.66667 3.5 3  7 a 3.5 3 3 3 3 3 3.08333 3 2  8 a 4 3 3.5 3 3.5 3 3.33333 3 1  1 b 5 5 5 4 5 3.5 4.58333 5 3.5  2 b 5 5 5 5 5 4 4.83333 5 3.5  3 b 5 5 4 4 4 3.5 4.25 4 3.5  4 b 5 4 4 4 4 3.5 4.08333 4 3.5  5 b 5 5 5 5 5 4 4.83333 5 4  6 b 5 5 5 5 5 3.5 4.75 5 4  7 b 4 5 4 4 3.5 3.5 4 4 3.5  8 b 5 4 4 4 4 3 4 4 3.5  1 c 4 3 3.5 3.5 3.5 3 3.41667 3.5 3  2 c 3.5 3 4 4 3.5 3.5 3.58333 3.5 2  3 c 3 3 3 3 3 3 3 3 2  4 c 2 2 3 2 2 2 2.16667 2 1  5 c 4 4 4 4 4 3.5 3.91667 4 3  6 c 3 3.5 3 3 3 2 2.91667 3 2  7 c 3 3 3 3 3 3 3 3 2  8 c 4 3.5 3 3 3.5 3 3.33333 3 2

[0181] less than the grades by technicians. It is also observed that there is no grade of No.5 while using the facet model algorithm. The reason accounting for this might be the surface properties of the fabric specimens: they are hairy surfaces.

[0182] The parameters used in the plane-cutting algorithm are listed below:

[0183] Blurring window sizes: WS1=9, WS2=5.

[0184]FIG. 21 shows the curves of log(Ω) versus wrinkle grades for all six replicas. We call these values of log(Ω)(9/5) due to the blumng window sizes. The horizontal axis is the wrinkle levels of replicas: 1, 2, 3, 3.5, 4, and 5, and the vertical axis is the log(Ω) values ranging from 1.5 to 4. The three parts of each replica are clustered together. These curves show that the plane-cutting algorithm separates the 6 replicas, especially the No.3 replica with creases. It is noted that the blurring window sizes are chosen to WS1=9 and WS2=5 in order to highlight these crease-shaped wrinkles. This point will be clearer after more discussion.

[0185] According to the results of replicas shown, the application procedure for the fabric specimens is indicated FIG. 22. After the value of log(Ω)(9/5) for each fabric is calculated, it is compared to the corresponding value of each replica, and classified to a relevant grade of that replica with the close value of log(Ω)(9/5). The grades of all fabric specimens from the plane-cutting algorithm are listed in Table 8 TABLE 8 Sample Tech1 Tech1 Tech2 Tech2 Tech3 Tech3 Average Final P-Cutting ID First Second First Second First Second all grades grades Correl. Coeff.  1TT 3 3 2 3 3 3 2.83333 3 3 74.50%  2TT 2 2 2 2 2 2 2 2 2  3TT 3 3 3 3 3 3.5 3.08333 3 3  4TT 3 3 3 3 3 2 2.83333 3 3  5TT 1 1 1 2 2 2 1.5 1 1  6TT b 5 5 5 5 5 4 4.83333 5 5  7TT 3 3 3 3 3 3 3 3 3  8TT 2 2 2 1 2 2 1.83333 2 1  9TT a 4 4 3 3.5 3.5 3.5 3.58333 3.5 4 10TT 1 1 2 1 3 1 1.5 1 1 11TT b 5 5 5 5 5 3.5 4.75 5 5 12TT 1 1 1 1 2 1 1.16667 1 1 13TT a 4 4 3 3.5 3 3 3.41667 3.5 5 14TT b 5 5 5 5 5 4 4.83333 5 5 15TT 3 3 3 3 3 3 3 3 3 16TT 2 3 2 2 2 3 2.33333 2 1 17TT 3 3.5 3 3 3 3 3.08333 3 2 18TT a 4 4 3.5 3.5 3 3 3.5 3.5 4  1 a 3.5 4 3.5 4 3 3.5 3.58333 3.5 4  2 a 3.5 3 3.5 4 3 3.5 3.41667 3.5 2  4 a 4 3.5 3.5 3.5 3.5 3.5 3.58333 3.5 3  5 a 4 3.5 3.5 3.5 4 3 3.58333 3.5 2  6 a 3.5 3.5 4 3.5 4 3.5 3.66667 3.5 3  7 a 3.5 3 3 3 3 3 3.08333 3 2  8 a 4 3 3.5 3 3.5 3 3.33333 3 2  1 b 5 5 5 4 5 3.5 4.58333 5 5  2 b 5 5 5 5 5 4 4.83333 5 3.5  3 b 5 5 4 4 4 3.5 4.25 4 4  4 b 5 4 4 4 4 3.5 4.08333 4 5  5 b 5 5 5 5 5 4 4.83333 5 3.5  6 b 5 5 5 5 5 3.5 4.75 5 3  7 b 4 5 4 4 3.5 3.5 4 4 4  8 b 5 4 4 4 4 3 4 4 3.5  1 c 4 3 3.5 3.5 3.5 3 3.41667 3.5 2  2 c 3.5 3 4 4 3.5 3.5 3.58333 3.5 2  3 c 3 3 3 3 3 3 3 3 2  4 c 2 2 3 2 2 2 2.16667 2 1  5 c 4 4 4 4 4 3.5 3.91667 4 1  6 c 3 3.5 3 3 3 2 2.91667 3 1  7 c 3 3 3 3 3 3 3 3 2  8 c 4 3.5 3 3 3.5 3 3.33333 3 2

[0186] From Table 8 the grades from the plane-cutting algorithm are neither consistent with the grades by technicians, and the correlation coefficient, between them is about 74.5%. There are two reasons accounting for this. On one hand, the replicas are made of plastic materials, whose surfaces are different from those of fabric specimens. They are smooth and not hairy while the fabric specimens have hairiness on surfaces. On the other hand, the wrinkle sizes of the specimens and the replicas are different. For example, it is observed that the No. 1 wrinkles of fabrics are always larger than the No. 1 wrinkles of replicas. In addition, the blurring window sizes are chosen to be small. There are some damages on wrinkles of both replicas and specimens while highlighting crease-shaped wrinkles. The results are observed to be very sensitive to the blurring window sizes. Using the window sizes WS1=15 and WS2=5, the grades of all fabric specimens are shown in Table 9. The correlation coefficient between the grades from the algorithm and by technicians is about 82.6%. However, the inconsistence still exists between the algorithm-grades and the technician-grades.

[0187] So far the application results of two algorithms have been presented above. Each algorithm gets a certain degree of success to classify the six replicas but does not perform well to classify all the fabric specimens. The wrinkle grades from both algorithms are not completely consistent with those grades by technicians. TABLE 9 Sample Tech1 Tech1 Tech2 Tech2 Tech3 Tech3 Average Final P-Cutting ID First Second First Second First Second all grades grades Correl. Coeff.  1TT 3 3 2 3 3 3 2.83333 3 2 82.63%  2TT 2 2 2 2 2 2 2 2 2  3TT 3 3 3 3 3 3.5 3.08333 3 3  4TT 3 3 3 3 3 2 2.83333 3 3  5TT 1 1 1 2 2 2 1.5 1 1  6TT b 5 5 5 5 5 4 4.83333 5 5  7TT 3 3 3 3 3 3 3 3 3  8TT 2 2 2 1 2 2 1.83333 2 2  9TT a 4 4 3 3.5 3.5 3.5 3.58333 3.5 3.5 10TT 1 1 2 1 3 1 1.5 1 1 11TT b 5 5 5 5 5 3.5 4.75 5 5 12TT 1 1 1 1 2 1 1.16667 1 1 13TT a 4 4 3 3.5 3 3 3.41667 3.5 4 14TT b 5 5 5 5 5 4 4.83333 5 5 15TT 3 3 3 3 3 3 3 3 3 16TT 2 3 2 2 2 3 2.33333 2 2 17TT 3 3.5 3 3 3 3 3.08333 3 2 18TT a 4 4 3.5 3.5 3 3 3.5 3.5 4  1 a 3.5 4 3.5 4 3 3.5 3.58333 3.5 4  2 a 3.5 3 3.5 4 3 3.5 3.41667 3.5 2  4 a 4 3.5 3.5 3.5 3.5 3.5 3.58333 3.5 3  5 a 4 3.5 3.5 3.5 4 3 3.58333 3.5 3  6 a 3.5 3.5 4 3.5 4 3.5 3.66667 3.5 3.5  7 a 3.5 3 3 3 3 3 3.08333 3 2  8 a 4 3 3.5 3 3.5 3 3.33333 3 2  1 b 5 5 5 4 5 3.5 4.58333 5 4  2 b 5 5 5 5 5 4 4.83333 5 4  3 b 5 5 4 4 4 3.5 4.25 4 3.5  4 b 5 4 4 4 4 3.5 4.08333 4 4  5 b 5 5 5 5 5 4 4.83333 5 4  6 b 5 5 5 5 5 3.5 4.75 5 3.5  7 b 4 5 4 4 3.5 3.5 4 4 4  8 b 5 4 4 4 4 3 4 4 4  1 c 4 3 3.5 3.5 3.5 3 3.41667 3.5 3  2 c 3.5 3 4 4 3.5 3.5 3.58333 3.5 2  3 c 3 3 3 3 3 3 3 3 2  4 c 2 2 3 2 2 2 2.16667 2 1  5 c 4 4 4 4 4 3.5 3.91667 4 2  6 c 3 3.5 3 3 3 2 2.91667 3 1  7 c 3 3 3 3 3 3 3 3 2  8 c 4 3.5 3 3 3.5 3 3.33333 3 2

Discussion

[0188] The small blurring window sizes are particularly chosen to enhance and extract the special wrinkles—creases. To indicate the effect from the small blurring window sizes, FIG. 23 shows some binary images of the intersected areas at the relevant range levels in the plane-cutting algorithm. The samples used here are (a) the central part of the No.3 replica, (b) the central part of the No.3.5 replica, and (c) the fabric sample 7 a. (Note: In each binary image the white pixels are 1, otherwise the pixels are 0).

[0189] The range images of the three samples are shown in the first row of FIG. 4.8. If the range level of a cutting plane is set to zero during the plane-cutting algorithm, the three samples are almost the same results with ones occupying about 50% of the whole image. (the images shown in the second row of FIG. 23) With the range levels greater than zero, the percentages of intersected areas over the whole images are getting different. Through calculating the values log(Ω) in the plane-cutting algorithm highlighted are the creases in Replica No.3, different from the general wrinkles in Replica No.3.5. Especially when the range level is 0.35, these creases of the sample 7 a are obviously extracted out. The differences are also shown through the curves of intersected area percentage versus range levels during the plane-cutting algorithm (FIG. 24.

[0190] After pixel subtraction with larger blurring window sizes such as WS1=91 and WS2=11 used in the facet model algorithm, these creases are almost removed due to the averaging function in blurring.

[0191] One of the main interference factors in the two algorithms is the hairy surfaces of the fabric specimens. This interference factor is embedded while the laser camera system is used, so first take a close look at the profiling algorithm of the laser camera and check how hairy surfaces affect range images.

[0192]FIG. 25 shows the sketch of the sensor processor arrays of the laser-camera. The curve of RSTUV shown in the figure is a profile from the laser line. The rance laser camera first uses a threshold to find the laser shining over all the region of the processor arrays. Then it finds one maximum-intensity pixel among the pixels of each column (for example, C1C2 and locates the maximum pixel as the final pixel of that column. Each column has one pixel and the pixels of all columns make up a profile.

[0193] Take a close look at the laser line on a hairy surface. Because the laser projector is tilted at an angle of 80°, some shaggy hairiness catches the laser line and reflects a bright point, whose intensity might be the maximum along the column directions. Therefore the range image looks ugly and noisy due to the hairy surfaces.

[0194] Although in each algorithm there are smoothening steps such as a notch filter and blurring, the influence of hairy surfaces is still brought into calculating the values of Θ and log(Ω). These values of fabric specimens with hairy surfaces are generally larger than those of other specimens of the same technician-grades. The fabric specimens have, more or less, such hairy surfaces. That is also one of the reasons why most values of Θ and log(Ω) of the fabrics are larger than those of the replicas

[0195] This problem of hairy surfaces might be resolved if the laser camera sensor could use a center-of-gravity technique. Suppose the intensity distribution along C1C2 is the line shown in FIG. 26. After applying a threshold, the center-of-gravity position using the total signal along the column is set as the position in that column, given by the equation $\begin{matrix} {{{position} = \frac{\sum\limits_{x}{{xI}(x)}}{\sum\limits_{x}{I(x)}}},} & \left( {{Eq}.\quad 4.1} \right) \end{matrix}$

[0196] where x is the pixel column position and I(x) is the pixel intensity. With the help of the center-of-gravity technique, the range images of these hairy-surfaced fabrics might be smoother. However, with this method, the resolution along the column direction of range images might be decreased. Especially when fabric specimens or replicas have some creases, the resolution for detecting those creases may be affected.

Conclusions

[0197] The following conclusions are drawn from the discussion and results in the previous section:

[0198] 1. The laser-camera system is set up particularly for capturing range images of wrinkles on replicas and fabric specimens. It works well for general fabric specimens, but if fabric specimens are very hairy, the range images obtained are noisy and cannot indicate small wrinkles and creases.

[0199] 2. A facet model algorithm is introduced in detail and applied in evaluating wrinkles. Experiments show that the topographic labels from the algorithm reveal the information of wrinkles.

[0200] 3. Developed from the facet model algorithm, a plane-cutting algorithm is presented and it is simple and easy to apply. Both of the algorithms work well to classify replicas.

[0201] 4. The inconsistence between the grades from both algorithms and the grades by technicians implies that further research is required.

EXAMPLES

[0202] For real continuous functions f(x) and g(x) with xε[a b], the inner product is defined as: $\begin{matrix} {{\langle{{f(x)},{g(x)}}\rangle} = {\int_{a}^{b}{{f(x)}{g(x)}\quad {{x}.}}}} & \left( {A{.1}} \right) \end{matrix}$

[0203] Consider the set of continuous functions C [a, b], and the powers of x, {l, x, x², . . . ,x_(n)}, which on any interval [a b] (a≠b) form a linearly independent set. Take [a b]=[−1, 1] and the inner product is written as: $\begin{matrix} {{\langle{{f(x)},{g(x)}}\rangle} = {\int_{- 1}^{1}{{f(x)}{g(x)}\quad {{x}.}}}} & \left( {A{.2}} \right) \end{matrix}$

[0204] Using the Gram-Schmidt procedure shown in Eq.3.4, we find

P₁=l,  (A. 3)

P₂=x,

P₃=x+HU2−1/3,

P₄=x+HU3−3x/5,

[0205] and so on. The functions thus generated as P_(i)(i=1,2 . . . n) are called the Legendre Polynomials and they are mutually orthogonal on the interval [−1, 1].

[0206] In a 2D coordinate, there are two discrete functions f(r, c) and g(r, c). Here (r, c) belong to the region of facet model window Ψ. That is, r and c are integers. Consider a n×n facet model window (n is odd), then rε[−(n−1)/2, (n−1)/2)] and cε[−(n−1)/2, (n−1)/2)]. Then the inner product of these two discrete functions is defined as: $\begin{matrix} {{\langle{{f\left( {r,c} \right)},{g\left( {r,c} \right)}}\rangle} = {\frac{1}{n^{2}}{\sum\limits_{r = \frac{n - 1}{2}}^{\frac{n - 1}{2}}\quad {\sum\limits_{c = \frac{n - 1}{2}}^{\frac{n - 1}{2}}{{f\left( {r,c} \right)}{{g\left( {r,c} \right)}.}}}}}} & \left( {A{.4}} \right) \end{matrix}$

[0207] Taken as an example, one 5×5 facet model window is defined, then rε[−2, 2] and cε[−2, 2] as shown in FIG. 3.9 where there is a 7×7 facet model window. The inner product of these two discrete functions f(r, c) and g(r, c) is defined as: $\begin{matrix} {{\langle{{f\left( {r,c} \right)},{g\left( {r,c} \right)}}\rangle} = {\frac{1}{25}{\sum\limits_{r = {- 2}}^{2}\quad {\sum\limits_{c = {- 2}}^{2}{{f\left( {r,c} \right)}{{g\left( {r,c} \right)}.}}}}}} & \left( {A{.5}} \right) \end{matrix}$

[0208] For example, if ƒ(r, c)=1, and g (r, c)=r, then, $\begin{matrix} {{\langle{{f\left( {r,c} \right)},{g\left( {r,c} \right)}}\rangle}_{5 \times 5} = {{\langle{1,r}\rangle}_{5 \times 5} = {{\frac{1}{25}{\sum\limits_{r = {- 2}}^{2}\quad {\sum\limits_{c = {- 2}}^{2}r}}} = 0.}}} & \left( {A{.6}} \right) \end{matrix}$

[0209] Considering the linearly independent set {x₁, x₂, x₃, . . . x₁₀}={1, r, c, r², rc, c², r₃, r₂c, rc², c³} on the region of the 5×5 facet model window and set P₁=x_(i)=1, we can obtain an orthogonal set using Eq.3.4. ${P_{2} = {{r - \frac{{< r},{P_{1} > P_{1}}}{{< P_{1}},{P_{1} >}}} = {{r - \frac{{< r},{1 >}}{{< 1},{1 >}}} = {{r - 0} = r}}}},{P_{3} = {{c - \frac{{< c},{1 >}}{{< 1},{1 >}} - \frac{{< c},{r >}}{{< r},{r >}}} = {{c - 0 - 0} = c}}},{P_{4} = {{r^{2} - \frac{{< r^{2}},{1 >}}{{< 1},{1 >}} - \frac{{< r^{2}},{r > r}}{{< r},{r >}} - \frac{{< r^{2}},{c > c}}{{< c},{c >}}} = {{r^{2} - 2 - 0 - 0} = {r^{2} - 2}}}},{P_{5} = {{{r\quad c} - \frac{{< {r\quad c}},{1 >}}{{< 1},{1 >}} - \frac{{< {r\quad c}},{r > r}}{{< r},{r >}} - \frac{{< {r\quad c}},{c > c}}{{< c},{c >}} - \frac{{< {rc}},{{r^{2} - 2} > \left( {r^{2} - 2} \right)}}{{< {r^{2} - 2}},{{r^{2} - 2} >}}} = {{{r\quad c} - 0 - 0 - 0} = {r\quad c}}}},{P_{6} = {{c^{2} - \frac{{< c^{2}},{1 >}}{{< 1},{1 >}} - \frac{{< c^{2}},{r > r}}{{< r},{r >}} - \frac{{< c^{2}},{c > c}}{{< c},{c >}} - \frac{{< c^{2}},{{r^{2} - 2} > \left( {r^{2} - 2} \right)}}{{< {r^{2} - 2}},{{r^{2} - 2} >}} - \frac{{< c^{2}},{{rc} > {rc}}}{{< {rc}},{{rc} >}}} = {{c^{2} - 2 - 0 - 0 - 0} = {c^{2} - 2}}}}$ $P_{7} = {{r^{3} - \frac{{< r^{3}},{1 >}}{{< 1},{1 >}} - \frac{{< r^{3}},{r > r}}{{< r},{r >}} - \frac{{< r^{3}},{c > c}}{{< c},{c >}} - \frac{{< r^{3}},{{r^{2} - 2} > \left( {r^{2} - 2} \right)}}{{< {r^{2} - 2}},{{r^{2} - 2} >}} - \frac{{< r^{3}},{{rc} > {rc}}}{{< {rc}},{{rc} >}} - \frac{{< r^{3}},{{c^{2} - 2} > \left( {c^{2} - 2} \right)}}{{< {c^{2} - 2}},{{c^{2} - 2} >}}} = {{r^{3} - 0 - \frac{34 \times {5/25}}{10 \times {5/25}} - 0 - 0 - 0 - 0} = {r^{3} - {3.4r}}}}$

[0210] The following results are also obtained as shown in Eq.3.5:

P ₈(r,c)=r ² c−2c,

P ₉(r,c)=rc ²−2r,

P ₁₀(r, c)=c ³−3.4c.

[0211] Considering a 5×5 facet model window and use the set of linear polynomials {x₁, x₂, x₃, . . . x₁₀}={1, r, c, r², rc, c², r³, r²c, rc², c³}, we can obtain a mutually orthogonal set as shown in both Appendix B and Eq.3.5. It is:

P₁(r, c)=1  (B. 1)

P₂(r, c)=r

P₃(r, c)=c

P₄(r, c)=r²−2

P₅(r, c)=rc

P₆(r, c)=c²−2

P₇(r, c)=r³−3.4r

P₈(r, c)=r²c−2c

P₉(r, c)=rc²−2r

P₁₀(r, c)=c³−3.4c

[0212] According to Eq.3.11, ${\alpha_{m} = \frac{\sum\limits_{{({r,c})} \in \Psi}\quad {{P_{m}\left( {r,c} \right)}{d\left( {r,c} \right)}}}{\sum\limits_{{({r,c})} \in \Psi}\quad {P_{m}^{2}\left( {r,c} \right)}}},{m = 1},2,\ldots \quad,10,$

[0213] the convenience of using an orthogonal basis set is utilized during the procedure of solving a_(m) since the values of ${\sum\limits_{{({r,c})} \in \Psi}\quad {{P_{m}\left( {r,c} \right)}{\sum\limits_{{({r,c})} \in \Psi}\quad {P_{m}^{\prime}\left( {r,c} \right)}}}},$

[0214] (here m≠m′, m=1, 2, . . . , 10, m′=1, 2, . . . , 10) are zero. Eq.(3.11) is interesting because it means that each fitting coefficient a_(m) can be computed as a linear combination of the gray level data of d(r,c). For each pixel over the related window Ψ, the gray level value d(r,c) is multiplied by the weight $\begin{matrix} {{W_{m}\left( {r,c} \right)} = {\frac{P_{m}\left( {r,c} \right)}{\sum\limits_{{({r,c})} \in \Psi}\quad {P_{m}^{2}\left( {r,c} \right)}}.}} & \left( {B{.2}} \right) \end{matrix}$

[0215] Now using B.2 (i.e. Eq. 3.12), we could obtain filters over a 5×5 window. m = 1, P₁(r, c) = 1 $W_{1} = {{1/25} \times \begin{matrix} 1 & 1 & 1 & 1 & 1 \\ 1 & 1 & 1 & 1 & 1 \\ 1 & 1 & 1 & 1 & 1 \\ 1 & 1 & 1 & 1 & 1 \\ 1 & 1 & 1 & 1 & 1 \end{matrix}}$ m = 2, P₂(r, c) = r $W_{2} = {{1/50} \times \begin{matrix} {- 2} & {- 2} & {- 2} & {- 2} & {- 2} \\ {- 1} & {- 1} & {- 1} & {- 1} & {- 1} \\ 0 & 0 & 0 & 0 & 0 \\ 1 & 1 & 1 & 1 & 1 \\ 2 & 2 & 2 & 2 & 2 \end{matrix}}$ m = 3, P₃(r, c) = c $W_{3} = {{1/50} \times \begin{matrix} {- 2} & {- 1} & 0 & 1 & 2 \\ {- 2} & {- 1} & 0 & 1 & 2 \\ {- 2} & {- 1} & 0 & 1 & 2 \\ {- 2} & {- 1} & 0 & 1 & 2 \\ {- 2} & {- 1} & 0 & 1 & 2 \end{matrix}}$ m = 4, P₄(r, c) = r² − 2 $W_{4} = {{1/70} \times \begin{matrix} 2 & 2 & 2 & 2 & 2 \\ {- 1} & {- 1} & {- 1} & {- 1} & {- 1} \\ {- 2} & {- 2} & {- 2} & {- 2} & {- 2} \\ {- 1} & {- 1} & {- 1} & {- 1} & {- 1} \\ 2 & 2 & 2 & 2 & 2 \end{matrix}}$ m = 5, P₅(r, c) = rc $W_{5} = {{1/100} \times \begin{matrix} 4 & 2 & 0 & {- 2} & {- 4} \\ 2 & 1 & 0 & {- 1} & {- 2} \\ 0 & 0 & 0 & 0 & 0 \\ {- 2} & {- 1} & 0 & 1 & 2 \\ {- 4} & {- 2} & 0 & 2 & 4 \end{matrix}}$ m = 6, P₆(r, c) = c² − 2 $W_{6} = {{1/70} \times \begin{matrix} 2 & {- 1} & {- 2} & {- 1} & 2 \\ 2 & {- 1} & {- 2} & {- 1} & 2 \\ 2 & {- 1} & {- 2} & {- 1} & 2 \\ 2 & {- 1} & {- 2} & {- 1} & 2 \\ 2 & {- 1} & {- 2} & {- 1} & 2 \end{matrix}}$ m = 7, P₇(r, c) = r³ − 3.4r $W_{7} = {{1/50} \times \begin{matrix} {- 1} & {- 1} & {- 1} & {- 1} & {- 1} \\ 2 & 2 & 2 & 2 & 2 \\ 0 & 0 & 0 & 0 & 0 \\ {- 2} & {- 2} & {- 2} & {- 2} & {- 2} \\ 1 & 1 & 1 & 1 & 1 \end{matrix}}$ m = 8, P₈(r, c) = r²c − 2c $W_{8} = {{1/140} \times \begin{matrix} {- 4} & {- 2} & 0 & 2 & 4 \\ 2 & 1 & 0 & {- 1} & {- 2} \\ 4 & 2 & 0 & {- 2} & {- 4} \\ 2 & 1 & 0 & {- 1} & {- 2} \\ {- 4} & {- 2} & 0 & 2 & 4 \end{matrix}}$ m = 9, P₉(r, c) = rc² − 2r $W_{9} = {{1/140} \times \begin{matrix} {- 4} & 2 & 4 & 2 & 4 \\ {- 2} & 1 & 2 & 1 & {- 2} \\ 0 & 0 & 0 & 0 & 0 \\ 2 & {- 1} & {- 2} & {- 1} & 2 \\ 4 & {- 2} & {- 4} & {- 2} & 4 \end{matrix}}$ m = 10, P₁₀(r, c) = c³ − 3.4c $W_{10} = {{1/50} \times \begin{matrix} {- 1} & 2 & 0 & {- 2} & 1 \\ {- 1} & 2 & 0 & {- 2} & 1 \\ {- 1} & 2 & 0 & {- 2} & 1 \\ {- 1} & 2 & 0 & {- 2} & 1 \\ {- 1} & 2 & 0 & {- 2} & 1 \end{matrix}}$

[0216] So far we could calculate the coefficients a_(m) in Eq.3.11. For example, suppose we have a neighborhood area at the pixel (i, j) shown in the following figure. D(r, c) is the matrix of the gray values in this neighborhood.

[0217] Then the coefficients could be obtained as follows (calculating pixel correlation):

a ₁ =W ₁ {circle over (X)}D(r, c)

[0218] That is, $a_{1} = {{1/25} \times \begin{matrix} 1 & 1 & 1 & 1 & 1 \\ 1 & 1 & 1 & 1 & 1 \\ 1 & 1 & 1 & 1 & 1 \\ 1 & 1 & 1 & 1 & 1 \\ 1 & 1 & 1 & 1 & 1 \end{matrix} \times \begin{matrix} 20 & 30 & 20 & 40 & 10 \\ 20 & 10 & 10 & 50 & 100 \\ 10 & 30 & 40 & 30 & 20 \\ 30 & 50 & 50 & 20 & 20 \\ 80 & 70 & 60 & 50 & 10 \end{matrix}}$ ${a_{1} = {\begin{pmatrix} 0.0400 & 0.0400 & 0.0400 & 0.0400 & 0.0400 \\ 0.0400 & 0.0400 & 0.0400 & 0.0400 & 0.0400 \\ 0.0400 & 0.0400 & 0.0400 & 0.0400 & 0.0400 \\ 0.0400 & 0.0400 & 0.0400 & 0.0400 & 0.0400 \\ 0.0400 & 0.0400 & 0.0400 & 0.0400 & 0.0400 \end{pmatrix} \times \begin{pmatrix} 20 & 30 & 20 & 40 & 10 \\ 20 & 10 & 10 & 50 & 100 \\ 10 & 30 & 40 & 30 & 20 \\ 30 & 50 & 50 & 20 & 20 \\ 80 & 70 & 60 & 50 & 10 \end{pmatrix}{\quad \quad}{i.e.}}},\quad {a_{1} = {35.2.}}$

[0219] With the same method, the following coefficients are obtained:

[0220] a₂=5.6,

[0221] a₃=0,

[0222] a₄=2.2857,

[0223] a₅=−5.5,

[0224] a₆=1.4286,

[0225] a₇=3.8,

[0226] a₈=−3.7857,

[0227] a₉=−1.7857,

[0228] a₁₀=15.2.

[0229] Using Eq.3.13, the coefficients of k_(i) (i=1,2, . . . , 10) in Eq.3.1 could be calculated.

[0230] Although the present invention has been disclosed in terms of a preferred embodiment, it will be understood that numerous additional modifications and variations could be made thereto without departing from the scope of the invention as defined by the following claims: 

What is claimed is:
 1. A method for determining the smoothness of a fabric comprising, a) providing a laser camera system; b) scanning said fabric using said laser camera system; b) capturing an image of said fabric using said laser camera system; and c) extracting at least one feature from said image. 